1. Field of the Invention
The present invention relates generally to wireless communications, and more particularly to a system and method for establishing a connection between wireless devices.
2. Discussion of the Related Art
In today's electronically interconnected world, the normal complement of electronic equipment in the home or business includes devices that are connected to one another in different ways. For example, many desktop computer systems have a central processing unit (CPU) connected to a mouse, a keyboard, a printer and so on. A personal digital assistant (PDA) will normally connect to the computer with a cable and a docking cradle. A television may be connected to a VCR and a cable box, with a remote control for all three components. A cordless phone connects to its base unit with radio waves, and it may have a headset that connects to the phone with a wire. In a stereo system, the CD player, tape player and record player connect to the receiver, which connects to the speakers. These connections can be difficult to install and maintain, particularly for the lay user.
Alternatives to these conventional approaches to connectivity have been proposed. Bluetooth™ (BT) is a computing and telecommunications industry specification for connectivity that is both wireless and automatic, as described in The Specification of the Bluetooth System, Version 1.1, Feb. 22, 2001, (“the BT specification”), which is incorporated herein by reference. BT allows any sort of electronic equipment—from computers and cell phones to keyboards and headphones—to make its own connections, without wires, cables or any direct action from a user. Because BT connections are wireless, offices can be designed without regard to cable placement and users can travel with portable devices without having to worry about carrying a multitude of cables. These connections can be established automatically, where BT devices find one another and form a connection without any user input at all.
BT requires that a low-cost microchip transceiver be included in each device. The BT microchip transceiver communicates on a frequency of 2.45 GHz, which has been set aside by international agreement for the use of industrial, scientific and medical devices (ISM). In addition to data, up to three voice channels are available. Each BT device has a unique 48-bit device address from the Institute of Electrical and Electronics Engineers 802 standard. Connections can be point-to-point or multi-point. Data can be exchanged at a rate of 1 megabit per second (up to 2 Mbps in the second generation of the technology).
A number of common consumer devices also take advantage of the same RF band. Baby monitors, garage-door openers and some cordless phones all make use of frequencies in the ISM band. The BT design employs various techniques to reduce interference between these devices and BT transmissions. For example, BT avoids interfering with other systems by sending out relatively weak signals of 1 milliwatt. By comparison, some cell phones can transmit a signal of 3 watts. The low power limits the range of a BT device to about 10 meters, thereby reducing the probability of interference with other devices.
BT also employs a spread-spectrum frequency hopping scheme to further reduce interference and increase capacity. BT devices use 79 randomly chosen frequencies within a designated range, changing from one to another on a regular basis 1,600 times every second. The random frequency hopping pattern makes it unlikely that two BT transmitters will be on the same frequency at the same time, thus reducing the probably of BT devices interfering with one another. This technique also minimizes the risk that other non-BT devices such as portable phones or baby monitors will disrupt BT devices since any interference on a particular frequency will last only a fraction of a second.
When BT devices come within range of one another, an electronic conversation takes place to determine whether they have data to share or whether one needs to control the other. Once the conversation has occurred, the devices form a Personal-Area Network (PAN) or “piconet”. A piconet may link devices located throughout a room, such as a home entertainment system, or devices much closer together such as a mobile phone on a belt-clip and a headset, or a computer, mouse, and printer. Once a piconet is established, the connected devices randomly hop frequencies in unison to communicate with one another and avoid other piconets that may be operating nearby.
According to the BT specification, inquiry and paging procedures are used to establish new connections. The inquiry procedure enables a device to discover which other devices are in range, and what their device addresses and clocks are. The device can then establish an actual connection by paging the desired device address. The device that carries out a page establishes a connection and will automatically be the master of the connection. In the paging and inquiry procedures, the device access code (DAC) and the inquiry access code (IAC) are used, respectively. A unit performing a page scan or inquiry scan correlates against these respective access codes with a matching correlator.
An inquiry procedure is used where the destination's device address is unknown to the discovering device. For example, a device might seek access to unfamiliar public facilities like printers or facsimile machines, or access points to a network. Alternatively, the inquiry procedure can be used to discover which other BT devices are within range. According to the inquiry procedure, the discovering device transmits an inquiry message whereas devices that allow themselves to be discovered perform an inquiry scan operation. The discovering device repeatedly transmits the IAC in different hop channels, and listens in between the transmit intervals until it receives a response from a device being discovered. The discovering device collects the BT device addresses and clocks of all devices that respond to the inquiry message.
The discovering device can then, if desired, make a connection to any of the responding units using the paging procedure. The discovering device pages the responding devices by repeatedly transmitting the responding unit's DAC in different hop channels, and listens in between the transmit intervals until it receives a response to the page. The responding devices listen during a page scan, and respond if they receive a page for their own DAC. As described in the BT specification, a connection is established once the response to a page is received wherein the discovering device acts as a master and the responding device acts as a slave. The roles of master and slave are defined at the link level.
At the application level, the device that performs the inquiry and paging procedures is referred to as the client, whereas the device that performs the inquiry scan and page scan is referred to as the server. In many applications, the BT transceiver can be configured under software control to operate in either role. The designation of client/server role can result from the pre-configuration of both devices, such as where a first device operating as a client (e.g., a PDA) moves within range of a second device that is designed to only act as a server (e.g., a network access point). Here, the first device is configured to perform inquiry and paging operations whereas the second device is configured to perform inquiry scan and page scan operations. In a typical operation, the user of the first device initiates a command via a user interface (UI) to search for and connect to the second device.
However, in some peer-to-peer applications it would be desirable to have wireless transceivers capable of establishing connections automatically without requiring that the devices be pre-configured to act in the role of client or server. Peer-to-peer is a communications model in which each device has the same capabilities and either device can initiate a communication session. In other words, each device can act as both client and server. For example, in a testing and development environment, a need exists for wireless transceivers that, when integrated within various electronic devices, establish a wireless connection between devices automatically without any pre-configuration as to client/server roles. Here, the peer devices should automatically determine their respective client/server roles and establish the connection without user intervention. Further, these devices should be of relatively low complexity and expense. To this end, the wireless transceiver should utilize relatively little random access memory (RAM) and a limited or non-existent UI.
What is needed therefore is an improved system and method for the automatic connection and role configuration of peer-to-peer wireless devices.